import request from '@/config/axios'

// 计划招生导师 VO
export interface BatchMentorVO {
  id: number // 主键
  userId: number // 导师ID
  batchId: string // 计划ID
  quota1: number // 保障性指标
  quota2: number // 竞争性指标
  quota3: number // 奖励性指标
  quota4: number // 博士指标
  quota5: number // 优秀学生奖励指标
  remark: string // 备注
}

export interface BatchMentorSelectedRespVO {
  id: number // 主键
  userId: number // 导师ID
  batchId: string // 计划ID
  quota1: number // 保障性指标
  quota2: number // 竞争性指标
  quota3: number // 奖励性指标
  quota4: number // 博士指标
  quota5: number // 优秀学生奖励指标
  remark: string // 备注
  nickname: string // 教师姓名
  jobCode: string // 工号
  mobile: string // 手机号码
  deptName: string // 部门名称
  zcm: string // 职称码
  workingStatus: string // 工作状态
  sfzs: string // 是否招生
  quota1Remaining: number // 保障性指标剩余
  quota2Remaining: number // 竞争性指标剩余
  quota3Remaining: number // 奖励性指标剩余
  quota4Remaining: number // 博士指标剩余
  quota5Remaining: number // 优秀学生奖励指标剩余
}

export interface BatchMentorChoiceRespVO {
  id: number // 主键
  userId: number // 导师ID
  batchId: string // 计划ID
  quota1: number // 保障性指标
  quota2: number // 竞争性指标
  quota3: number // 奖励性指标
  quota4: number // 博士指标
  quota5: number // 优秀学生奖励指标
  remark: string // 备注
  username: string // 登录账号
  mentorName: string // 教师名称
  mentorJobCode: string // 教师工号
  mentorPhone: string // 手机号
  mentorEmail: string // 邮箱
  mentorIdentity: string // 身份证号
  mentorGender: string // 性别
  mentorTitle: string // 职称
  mentorDept: string // 研究部
  mentorWorkStatus: number // 工作状态
}

// 计划招生导师 API
export const BatchMentorApi = {
  // 查询计划招生导师分页
  getBatchMentorPage: async (params: any) => {
    return await request.get({ url: `/recruit/batch-mentor/page`, params })
  },

  // 查询计划招生导师详情
  getBatchMentor: async (id: number) => {
    return await request.get({ url: `/recruit/batch-mentor/get?id=` + id })
  },

  // 新增计划招生导师
  createBatchMentor: async (data: BatchMentorVO) => {
    return await request.post({ url: `/recruit/batch-mentor/create`, data })
  },

  // 修改计划招生导师
  updateBatchMentor: async (data: BatchMentorVO) => {
    return await request.put({ url: `/recruit/batch-mentor/update`, data })
  },

  // 删除计划招生导师
  deleteBatchMentor: async (id: number) => {
    return await request.delete({ url: `/recruit/batch-mentor/delete?id=` + id })
  },

  // 导出计划招生导师 Excel
  exportBatchMentor: async (params) => {
    return await request.download({ url: `/recruit/batch-mentor/export-excel`, params })
  },

  // 查询指定计划已选的招生导师分页
  getSelectedMentorByBatchId: async (params: any) => {
    return await request.get({ url: `/recruit/batch-mentor/get-batch`, params })
  },

  // 新增指定计划的计划招生导师
  addBatchMentor: async (batchId: string, data: Partial<BatchMentorVO>[]) => {
    return await request.post({ url: `/recruit/batch-mentor/add-batch/${batchId}`, data })
  },

  // 为指定计划移除招生导师
  removeBatchMentor: async (batchId: string, data: Partial<BatchMentorVO>[]) => {
    return await request.delete({ url: `/recruit/batch-mentor/remove-batch/${batchId}`, data })
  },

  // 查询计划招生导师分页
  getMentorChoicePage: async (params: any) => {
    return await request.get({ url: `/recruit/batch-mentor/choice-list`, params })
  }
}
